home *** CD-ROM | disk | FTP | other *** search
/ com!online 2005 May / com_0505_1.iso / opensource / top10 / amc_install.exe / {app} / Scripts / Cinemasie (FR).ifs < prev    next >
Encoding:
Text File  |  2004-11-06  |  31.6 KB  |  926 lines

  1. // GETINFO SCRIPTING
  2. // Cinemasie.com - Recherche de films asiatiques (donnΘes et images) - by ScorEpioN
  3.  
  4. (***************************************************
  5.  *  Script d'importation pour :                    *
  6.  *  Cinemasie , http://www.cinemasie.com           *
  7.  *                                                 *
  8.  *  Script by ScorEpioN                            *
  9.  *                                                 *
  10.  *  Version : 8 - Update du 06/11/2004             *
  11.  *                                                 *
  12.  *  A utiliser avec Ant Movie Catalog 3.4.0        *
  13.  *  www.ant.be.tf/moviecatalog ╖╖╖ www.buypin.com  *
  14.  *                                                 *
  15.  *  The source code of the script can be used in   *
  16.  *  another program only if full credits to        *
  17.  *  script author and a link to Ant Movie Catalog  *
  18.  *  website are given in the About box or in       *
  19.  *  the documentation of the program               *
  20.  ***************************************************)
  21.  
  22. program CINEMASIE_SEARCH;
  23.  
  24. const
  25.   ConfirmTitre = True;
  26.     { True: Demande le titre avant de lancer le script
  27.       False: Ne demande pas le titre avant de lancer le script }
  28. var
  29.   MovieName, NomFilm, ChaineDecoupee, LaDuree, Reponse : string;
  30.   premiereExecution : Integer;
  31.  
  32. //------------------------------------------------------------------------------
  33. // ANALYSE DE LA PAGE DE RECHERCHES
  34. //------------------------------------------------------------------------------
  35.  
  36. procedure AnalyzePage(Address: string);
  37. var
  38.   Page: TStringList;
  39.   LineNr: Integer;
  40.   Line,page_film,titre_film, realisateur_film, annee_film: string;
  41.   BeginPos, EndPos: Integer;
  42.   begin
  43. //vide la liste des films
  44.   PickTreeClear;
  45. //charge la page
  46.   Line := GetPage(Address);
  47. //teste si il y a des films trouvΘs
  48.   BeginPos := Pos('<blockquote>', Line);
  49.   if BeginPos <> 0 then  
  50.   begin
  51.     titre_film := MovieName;
  52.     titre_film := StringReplace(titre_film, #13#10, '');
  53.     titre_film := StringReplace(titre_film, '   ', '');
  54.     titre_film := Trim(titre_film);
  55.     titre_film := AnsiLowerCase(titre_film);
  56.     titre_film := AnsiUpFirstLetter(titre_film);  
  57.     showmessage('Aucun film trouvΘ pour : ' + titre_film);
  58.     exit;
  59.   end;
  60.   
  61. //introduction rΘsultats  
  62.   titre_film := MovieName;
  63.   titre_film := StringReplace(titre_film, #13#10, '');
  64.   titre_film := StringReplace(titre_film, '   ', '');
  65.   titre_film := Trim(titre_film);
  66.   titre_film := AnsiLowerCase(titre_film);
  67.   titre_film := AnsiUpFirstLetter(titre_film);  
  68.   PickTreeAdd('Films trouvΘs pour ' + titre_film + ' :', '');
  69.   
  70. //pour le titre exact
  71.   BeginPos := Pos('<tr><td colspan=2><h1>', Line);
  72.   if BeginPos <> 0 then  
  73.   begin
  74. //rΘsultat exact
  75.   PickTreeAdd('RΘsultat Exact', '');  
  76. //cherche le nom du premier film  
  77.   titre_film := MovieName;
  78.   titre_film := StringReplace(titre_film, #13#10, '');
  79.   titre_film := StringReplace(titre_film, '   ', '');
  80.   titre_film := Trim(titre_film);
  81.   titre_film := AnsiLowerCase(titre_film);
  82.   titre_film := AnsiUpFirstLetter(titre_film);
  83.   HTMLRemoveTags(titre_film);
  84. //cherche le lien de la page du film
  85.   BeginPos := Pos('<br><br><div align=center> <a href="',Line);
  86.   Delete(Line, 1, BeginPos+36);
  87.   EndPos := Pos('><img src',Line);
  88.   page_film := 'http://www.cinemasie.com/fr/' + Copy(Line, 1, EndPos-2 );  
  89. //ajoute le film
  90.   PickTreeAdd(titre_film , page_film);
  91.   end;
  92.  
  93.   BeginPos := Pos('<td></td><td width=5></td><td>', Line);
  94.   Delete(Line, 1, BeginPos+29);
  95.   BeginPos := Pos('</tr>', Line);
  96.   Delete(Line, 1, BeginPos+3);
  97.  
  98.  
  99. //Titres les plus DemandΘs
  100.   PickTreeAdd('Titres les plus demandΘs', ''); 
  101.   repeat
  102. //cherche le nom du film
  103.   BeginPos := Pos('<td width=5></td><td>',Line);
  104.   Delete(Line, 1, BeginPos+20);
  105.   EndPos := Pos('</td>',Line);
  106.   titre_film := Copy(Line, 1, EndPos );
  107.   HTMLdecode(titre_film);
  108.   HTMLremovetags(titre_film);
  109.   titre_film := Trim(titre_film);
  110.   titre_film := StringReplace(titre_film, #13#10, '');
  111.   titre_film := StringReplace(titre_film, '   ', '');
  112.   titre_film := Trim(titre_film);
  113.   titre_film := AnsiLowerCase(titre_film);
  114.   titre_film := AnsiUpFirstLetter(titre_film);
  115.   HTMLRemoveTags(titre_film);
  116. //cherche le lien de la page du film
  117.   BeginPos := Pos('<td></td>',Line);
  118.   Delete(Line, 1, BeginPos+28);
  119.   EndPos := Pos('title',Line);
  120.   page_film := 'http://www.cinemasie.com/fr/' + Copy(Line, 1, EndPos-3 );
  121.  
  122. //ajoute les films
  123.     PickTreeAdd(titre_film , page_film);
  124. //cherche le nom du film
  125.     BeginPos := Pos('<td width=5></td><td>',Line);
  126.   until BeginPos = 0;
  127.   
  128.   PickTreeAdd(' ', '');
  129.   PickTreeAdd('Verifier si vous avez la derniΦre version', 'version');
  130.  
  131.   begin
  132.     if PickTreeExec(Address)=true then
  133.     begin
  134.       if (Address = 'version') then
  135.       begin
  136.         verifVersion();
  137.       end else
  138.       begin
  139.         AnalysePageFilm(Address);
  140.       end;
  141.     end;
  142.   end;
  143. end;
  144.  
  145. //------------------------------------------------------------------------------
  146. // VERIFIER LA VERSION DU SCRIPT
  147. //------------------------------------------------------------------------------
  148.  
  149. procedure verifVersion();
  150. var
  151.    Line, NewVersion, MaVersion, Telecharge : String;
  152.    BeginPos, EndPos : Integer;
  153. begin
  154.   MaVersion := '8';
  155.   Line := GetPage('http://forum.antp.be/phpbb2/viewtopic.php?t=1453');
  156.   BeginPos := pos('TELECHARGER LE SCRIPT CINEMASIE v', Line);
  157.   delete(Line,1, BeginPos+32);
  158.   EndPos := pos('du', Line);
  159.   NewVersion := copy(Line, 1, EndPos - 2);
  160.   PickTreeClear;
  161.   PickTreeAdd('Votre version est la '+MaVersion+', la derniΦre est la '+NewVersion+'.', '');
  162.   PickTreeAdd('Pour tΘlΘcharger la derniΦre version :', '');
  163.   PickTreeAdd('Cliquez ici', 'DL');
  164.   PickTreeAdd('Le script sera tΘlΘcharger dans le mΩme rΘpertoire que votre catalogue', '');
  165.   PickTreeAdd('Cliquez sur annuler pour quitter', '');
  166.   begin
  167.     if PickTreeExec(Telecharge)=true then
  168.       if (Telecharge = 'DL') then
  169.       begin
  170.         GetPicture('http://www.ifrance.com/ricoland/Cinemasie%20(FR).ifs', True);
  171.       end else
  172.       begin
  173.         exit;
  174.       end;
  175.     end;
  176. end;
  177.  
  178. //------------------------------------------------------------------------------
  179. // ANALYSE DE LA PAGE DU FILM
  180. //------------------------------------------------------------------------------
  181.  
  182. procedure AnalysePageFilm(Address: string);
  183. var
  184.   Line,page_film,titre_film,titre_original, categorie_film, realisateur_film, producteur_film, annee_film: string;
  185.   les_titres, titre_anglais, autre_titre, url_film, pays_film, duree_film, acteurs_film, liste_acteurs, description_film, reference_film,public_film,video_film,audio_film,fichier_image,aucun:string;
  186.   BeginPos, EndPos: Integer;
  187.   
  188. begin
  189. //charge la page
  190.   Line := GetPage(Address);
  191.   url_film := Address;
  192.   les_titres := '';
  193.  
  194. //cherche le titre anglais
  195.   BeginPos := Pos('<b>Titre Anglais</b>', Line);
  196.   Delete(Line, 1, BeginPos+34);
  197.   BeginPos := Pos('<td>', Line);
  198.   Delete(Line, 1, BeginPos+3);
  199.   EndPos := Pos('</td>',Line);
  200.   titre_anglais := Copy(Line, 1, EndPos-9);
  201.   HTMLdecode(titre_anglais);
  202.   titre_anglais := StringReplace(titre_anglais, #13#10, '');
  203.   titre_anglais := StringReplace(titre_anglais, '  ', '');
  204.   HTMLRemoveTags(titre_anglais);
  205.   titre_anglais := Trim(titre_anglais);
  206.   titre_anglais := AnsiLowerCase(titre_anglais);
  207.   titre_anglais := AnsiMixedCase(titre_anglais, ' -');
  208.   titre_anglais := AnsiUpFirstLetter(titre_anglais);
  209.   les_titres := titre_anglais;
  210.  
  211. //cherche le titre original
  212.   BeginPos := Pos('<b>Titre Original</b>', Line);
  213. //si on a un titre original
  214.   if beginPos <> 0 then
  215.   begin  
  216.   Delete(Line, 1, BeginPos+35);
  217.   BeginPos := Pos('<td>', Line);
  218.   Delete(Line, 1, BeginPos+3);
  219.   EndPos := Pos('</td>',Line);
  220.   titre_original := Copy(Line, 1, EndPos-9);
  221.   decoupe(titre_original);
  222.   titre_original := ChaineDecoupee;
  223.   if titre_original <> '' then
  224.   begin
  225.   HTMLdecode(titre_original);
  226.   titre_original := StringReplace(titre_original, #13#10, '');
  227.   titre_original := StringReplace(titre_original, '   ', '');
  228.   HTMLRemoveTags(titre_original);
  229.   titre_original := Trim(titre_original);
  230.   titre_original := AnsiLowerCase(titre_original);
  231.   titre_original := AnsiMixedCase(titre_original, ' -');
  232.   titre_original := AnsiUpFirstLetter(titre_original);
  233.   les_titres := les_titres + ' - Titre Original : '+titre_original;
  234.   end else
  235.   begin
  236.     les_titres := titre_anglais;
  237.   end;
  238.   end;
  239.   
  240. //cherche autre titre
  241.   BeginPos := Pos('<b>Autres Titres</b>', Line);
  242. //si on a un autre titre
  243.   if beginPos <> 0 then
  244.   begin  
  245.   Delete(Line, 1, BeginPos+20);
  246.   BeginPos := Pos('<td>', Line);
  247.   Delete(Line, 1, BeginPos+3);
  248.   EndPos := Pos('</td>',Line);
  249.   autre_titre := Copy(Line, 1, EndPos-1);
  250.   HTMLdecode(autre_titre);
  251.   autre_titre := StringReplace(autre_titre, #13#10, '');
  252.   autre_titre := StringReplace(autre_titre, '   ', '');
  253.   HTMLRemoveTags(autre_titre);
  254.   autre_titre := Trim(autre_titre);
  255.   autre_titre := AnsiLowerCase(autre_titre);
  256.   autre_titre := AnsiMixedCase(autre_titre, ' -');
  257.   autre_titre := AnsiUpFirstLetter(autre_titre);
  258.   les_titres := les_titres + ' - Autre Titre : '+autre_titre;
  259.   end;  
  260.   
  261. //cherche le titre traduit
  262.   BeginPos := Pos('<b>Titre Franτais</b>', Line);
  263. //si on a un titre francais 
  264.   if beginPos <> 0 then
  265.   begin
  266.   Delete(Line, 1, BeginPos+21);
  267.   BeginPos := Pos('<td>', Line);
  268.   Delete(Line, 1, BeginPos+3);
  269.   EndPos := Pos('</td>',Line);
  270.   titre_film := Copy(Line, 1, EndPos-1 );
  271.   HTMLdecode(titre_film);
  272.   titre_film := StringReplace(titre_film, #13#10, '');
  273.   titre_film := StringReplace(titre_film, '   ', '');
  274.   HTMLRemoveTags(titre_film);
  275.   titre_film := Trim(titre_film);
  276.   titre_film := AnsiLowerCase(titre_film);
  277.   titre_film := AnsiMixedCase(titre_film, ' -');
  278.   titre_film := AnsiUpFirstLetter(titre_film);
  279.   end else
  280.   begin
  281.       titre_film := titre_anglais ;
  282.   end;
  283.   
  284. //cherche l'annΘe
  285.   BeginPos := Pos('AnnΘe', Line);
  286.   Delete(Line, 1, BeginPos+17);
  287.   EndPos := Pos('</td>',Line);
  288.   annee_film := Copy(Line, 1, EndPos-1 );
  289.   HTMLdecode(annee_film);
  290.   HTMLRemoveTags(annee_film);
  291.   annee_film := Trim(annee_film);
  292.  
  293. //cherche le pays
  294.   BeginPos := Pos('Pays', Line);
  295.   Delete(Line, 1, BeginPos+16);
  296.   EndPos := Pos('</td>',Line);
  297.   pays_film := Copy(Line, 1, EndPos-1 );
  298.   HTMLdecode(pays_film);
  299.   pays_film := StringReplace(pays_film, #13#10, '');
  300.   pays_film := StringReplace(pays_film, '   ', '');
  301.   pays_film := Trim(pays_film);
  302.   HTMLremovetags(pays_film);
  303.   pays_film := AnsiLowerCase(pays_film);
  304.   pays_film := AnsiMixedCase(pays_film, ' -');
  305.  
  306. //cherche le rΘalisateur
  307.   BeginPos := Pos('RΘalisateur', Line);
  308. //si on a un rΘalisateur  
  309.   if beginPos <> 0 then
  310.   begin
  311.   Delete(Line, 1, BeginPos+41);
  312.   aucun := Copy(Line, 1, 1);
  313. //dans le cas o∙ le rΘalisateur n'a pas de fiche
  314.   if aucun <> '<' then
  315.   begin
  316.     EndPos := Pos('<br></td>',Line);
  317.     realisateur_film := Copy(Line, 1, EndPos-1 );
  318.     decoupe(realisateur_film);
  319.     realisateur_film := ChaineDecoupee;
  320.     HTMLdecode(realisateur_film);
  321.     realisateur_film := StringReplace(realisateur_film, #13#10, '');
  322.     realisateur_film := StringReplace(realisateur_film, '<i>', '');
  323.     realisateur_film := StringReplace(realisateur_film, '</i>', '');
  324.     realisateur_film := StringReplace(realisateur_film, '<b>', '');
  325.     realisateur_film := StringReplace(realisateur_film, '</b>', '');
  326.     realisateur_film := StringReplace(realisateur_film, '   ', '');
  327.     HTMLRemoveTags(realisateur_film);
  328.     realisateur_film := Trim(realisateur_film);
  329.     realisateur_film := AnsiLowerCase(realisateur_film);
  330.     realisateur_film := AnsiMixedCase(realisateur_film, ' -');
  331.     realisateur_film := deleteImage(realisateur_film);
  332.   end else
  333.   begin
  334.   BeginPos := Pos('fiche.html>', Line);
  335.   Delete(Line, 1, BeginPos+10);
  336.   EndPos := Pos('</a><br></td>',Line);
  337.   realisateur_film := Copy(Line, 1, EndPos-1 );
  338.   decoupe(realisateur_film);
  339.   realisateur_film := ChaineDecoupee;
  340.   HTMLdecode(realisateur_film);
  341.   realisateur_film := StringReplace(realisateur_film, #13#10, '');
  342.   realisateur_film := StringReplace(realisateur_film, '<i>', '');
  343.   realisateur_film := StringReplace(realisateur_film, '</i>', '');
  344.   realisateur_film := StringReplace(realisateur_film, '<b>', '');
  345.   realisateur_film := StringReplace(realisateur_film, '</b>', '');
  346.   realisateur_film := StringReplace(realisateur_film, '   ', '');
  347.   HTMLRemoveTags(realisateur_film);
  348.   realisateur_film := Trim(realisateur_film);
  349.   realisateur_film := AnsiLowerCase(realisateur_film);
  350.   realisateur_film := AnsiMixedCase(realisateur_film, ' -');
  351.   realisateur_film := deleteImage(realisateur_film);
  352.   end;
  353.   end;
  354.  
  355. //cherche les interprΦtes
  356.   BeginPos := Pos('InterprΦte', Line);
  357. //si on a un interprΦte
  358.   if beginPos <> 0 then
  359.   begin
  360.   Delete(Line, 1, BeginPos+40);
  361.   aucun := Copy(Line, 1, 1);
  362. //dans le cas o∙ l'interprete n'a pas de fiche
  363.   if aucun <> '<' then
  364.   begin
  365.     EndPos := Pos('<br></td>',Line);
  366.     acteurs_film := Copy(Line, 1, EndPos-1 );
  367.     decoupe(acteurs_film);
  368.     acteurs_film := ChaineDecoupee;
  369.     HTMLdecode(acteurs_film);
  370.     acteurs_film := StringReplace(acteurs_film , #13#10, '');
  371.     acteurs_film := StringReplace(acteurs_film , '   ', '');
  372.     acteurs_film := StringReplace(acteurs_film , '<i>', '');
  373.     acteurs_film := StringReplace(acteurs_film , '</i>', '');
  374.     acteurs_film := StringReplace(acteurs_film , '<b>', '');
  375.     acteurs_film := StringReplace(acteurs_film , '</b>', '');
  376.     HTMLRemoveTags(acteurs_film);
  377.     acteurs_film := Trim(acteurs_film );
  378.     acteurs_film := AnsiLowerCase(acteurs_film );
  379.     acteurs_film := AnsiMixedCase(acteurs_film , ' -');
  380.     acteurs_film := deleteImage (acteurs_film);
  381.     liste_acteurs := acteurs_film;
  382.   end else
  383.   begin
  384.     BeginPos := Pos('fiche.html>', Line);
  385.     Delete(Line, 1, BeginPos+10);
  386.     EndPos := Pos('</a>',Line);
  387.     acteurs_film := Copy(Line, 1, EndPos );
  388.     decoupe(acteurs_film);
  389.     acteurs_film := ChaineDecoupee;
  390.     HTMLdecode(acteurs_film);
  391.     acteurs_film := StringReplace(acteurs_film, #13#10, '');
  392.     acteurs_film := StringReplace(acteurs_film , '<i>', '');
  393.     acteurs_film := StringReplace(acteurs_film , '</i>', '');
  394.     acteurs_film := StringReplace(acteurs_film , '<b>', '');
  395.     acteurs_film := StringReplace(acteurs_film , '</b>', '');
  396.     acteurs_film := StringReplace(acteurs_film, '   ', '');
  397.     acteurs_film := StringReplace(acteurs_film, '<', '');
  398.     HTMLRemoveTags(acteurs_film);
  399.     acteurs_film := Trim(acteurs_film);
  400.     acteurs_film := AnsiLowerCase(acteurs_film);
  401.     acteurs_film := AnsiMixedCase(acteurs_film, ' -');
  402.     acteurs_film := deleteImage (acteurs_film);
  403.     liste_acteurs := acteurs_film;
  404.   end;
  405. //si plusieurs interprΦtes
  406.   repeat
  407.      BeginPos := Pos('<b>', Line);
  408.      Delete(Line, 1, (BeginPos-1));
  409.      aucun := Copy(Line, 1, 7 );
  410.      if aucun = '<b></b>' then
  411.      begin
  412.        Delete(Line, 1, 34);
  413.        aucun := Copy(Line, 1, 1);
  414. //dans le cas o∙ l'interprete n'a pas de fiche
  415.        if aucun <> '<' then
  416.        begin
  417.          EndPos := Pos('<br></td>',Line);
  418.          acteurs_film := Copy(Line, 1, EndPos-1 );
  419.          decoupe(acteurs_film);
  420.          acteurs_film := ChaineDecoupee;
  421.          HTMLdecode(acteurs_film);
  422.          acteurs_film := StringReplace(acteurs_film , #13#10, '');
  423.          acteurs_film := StringReplace(acteurs_film , '<i>', '');
  424.      acteurs_film := StringReplace(acteurs_film , '</i>', '');
  425.      acteurs_film := StringReplace(acteurs_film , '<b>', '');
  426.          acteurs_film := StringReplace(acteurs_film , '</b>', '');
  427.          acteurs_film := StringReplace(acteurs_film , '   ', '');
  428.          HTMLRemoveTags(acteurs_film);
  429.          acteurs_film := Trim(acteurs_film );
  430.          acteurs_film := AnsiLowerCase(acteurs_film );
  431.          acteurs_film := AnsiMixedCase(acteurs_film , ' -');
  432.          acteurs_film := deleteImage (acteurs_film);
  433.          liste_acteurs := liste_acteurs +', '+acteurs_film;
  434.        end else
  435.        begin
  436.          BeginPos := Pos('fiche.html>', Line);
  437.          Delete(Line, 1, BeginPos+10);
  438.          EndPos := Pos('</a>',Line);
  439.          acteurs_film := Copy(Line, 1, EndPos );
  440.          decoupe(acteurs_film);
  441.          acteurs_film := ChaineDecoupee;
  442.          HTMLdecode(acteurs_film);
  443.          acteurs_film := StringReplace(acteurs_film, #13#10, '');
  444.          acteurs_film := StringReplace(acteurs_film , '<i>', '');
  445.      acteurs_film := StringReplace(acteurs_film , '</i>', '');
  446.      acteurs_film := StringReplace(acteurs_film , '<b>', '');
  447.          acteurs_film := StringReplace(acteurs_film , '</b>', '');
  448.          acteurs_film := StringReplace(acteurs_film, '   ', '');
  449.          acteurs_film := StringReplace(acteurs_film, '<', '');
  450.          HTMLRemoveTags(acteurs_film);
  451.          acteurs_film := Trim(acteurs_film);
  452.          acteurs_film := AnsiLowerCase(acteurs_film);
  453.          acteurs_film := AnsiMixedCase(acteurs_film, ' ');
  454.          acteurs_film := AnsiMixedCase(acteurs_film, '-');
  455.          acteurs_film := deleteImage (acteurs_film);
  456.          liste_acteurs := liste_acteurs +', '+acteurs_film;
  457.        end;
  458.      end else
  459.      begin
  460.        BeginPos := 0;
  461.      end;
  462.    until BeginPos = 0;
  463.    end;
  464.  
  465. //cherche le producteur
  466.   BeginPos := Pos('Producteur', Line);
  467. //si on a un producteur
  468.   if beginPos <> 0 then
  469.   begin
  470.   Delete(Line, 1, BeginPos+40);
  471.   aucun := Copy(Line, 1, 1);
  472. //dans le cas o∙ le producteur n'a pas de fiche
  473.   if aucun <> '<' then
  474.   begin
  475.     EndPos := Pos('<br></td>',Line);
  476.     producteur_film := Copy(Line, 1, EndPos-1 );
  477.     decoupe(producteur_film);
  478.     producteur_film := ChaineDecoupee;
  479.     HTMLdecode(producteur_film);
  480.     producteur_film := StringReplace(producteur_film, #13#10, '');
  481.     producteur_film := StringReplace(producteur_film, '<i>', '');
  482.     producteur_film := StringReplace(producteur_film, '</i>', '');
  483.     producteur_film := StringReplace(producteur_film, '<b>', '');
  484.     producteur_film := StringReplace(producteur_film, '</b>', '');
  485.     producteur_film := StringReplace(producteur_film, '   ', '');
  486.     HTMLRemoveTags(producteur_film);
  487.     producteur_film := Trim(producteur_film);
  488.     producteur_film := AnsiLowerCase(producteur_film);
  489.     producteur_film := AnsiMixedCase(producteur_film, ' -');
  490.     producteur_film := deleteImage(producteur_film);
  491.   end else
  492.   begin
  493.   BeginPos := Pos('fiche.html>', Line);
  494.   Delete(Line, 1, BeginPos+10);
  495.   EndPos := Pos('</a><br></td>',Line);
  496.   producteur_film := Copy(Line, 1, EndPos-1 );
  497.   decoupe(producteur_film);
  498.   producteur_film := ChaineDecoupee;
  499.   HTMLdecode(producteur_film);
  500.   producteur_film := StringReplace(producteur_film, #13#10, '');
  501.   producteur_film := StringReplace(producteur_film, '<i>', '');
  502.   producteur_film := StringReplace(producteur_film, '</i>', '');
  503.   producteur_film := StringReplace(producteur_film, '<b>', '');
  504.   producteur_film := StringReplace(producteur_film, '</b>', '');
  505.   producteur_film := StringReplace(producteur_film, '   ', '');
  506.   HTMLRemoveTags(producteur_film);
  507.   producteur_film := Trim(producteur_film);
  508.   producteur_film := AnsiLowerCase(producteur_film);
  509.   producteur_film := AnsiMixedCase(producteur_film, ' -');
  510.   producteur_film := deleteImage(producteur_film);
  511.   end;
  512.   end else
  513. //si on a pas de producteur mais un studio de production
  514.   begin
  515. //cherche la catΘgorie
  516.   BeginPos := Pos('Genre', Line);
  517.   if beginPos <> 0 then
  518.   begin
  519.   Delete(Line, 1, BeginPos+17);
  520.   EndPos := Pos('<br></td>',Line);
  521.   categorie_film := Copy(Line, 1, EndPos-1);
  522.   HTMLdecode(categorie_film);
  523.   categorie_film := StringReplace(categorie_film, #13#10, '');
  524.   categorie_film := StringReplace(categorie_film, '   ', '');
  525.   HTMLRemoveTags(categorie_film);
  526.   categorie_film := Trim(categorie_film);
  527.   categorie_film := AnsiLowerCase(categorie_film);
  528.   categorie_film := AnsiMixedCase(categorie_film, ' ');
  529.   categorie_film := AnsiMixedCase(categorie_film, '-');
  530.   end;
  531.   BeginPos := Pos('Studio de production', Line);
  532.   if beginPos <> 0 then
  533.   begin
  534.     Delete(Line, 1, BeginPos+32);
  535.     aucun := Copy(Line, 1, 1);
  536.   //dans le cas o∙ le studio de production n'a pas de fiche
  537.     if aucun <> '<' then
  538.     begin
  539.       EndPos := Pos('<br></td>',Line);
  540.       producteur_film := Copy(Line, 1, EndPos-1 );
  541.       decoupe(producteur_film);
  542.       producteur_film := ChaineDecoupee;
  543.       HTMLdecode(producteur_film);
  544.       producteur_film := StringReplace(producteur_film, #13#10, '');
  545.       producteur_film := StringReplace(producteur_film, '<i>', '');
  546.       producteur_film := StringReplace(producteur_film, '</i>', '');
  547.       producteur_film := StringReplace(producteur_film, '<b>', '');
  548.       producteur_film := StringReplace(producteur_film, '</b>', '');
  549.       producteur_film := StringReplace(producteur_film, '   ', '');
  550.       HTMLRemoveTags(producteur_film);
  551.       producteur_film := Trim(producteur_film);
  552.       producteur_film := AnsiLowerCase(producteur_film);
  553.       producteur_film := AnsiMixedCase(producteur_film, ' -');
  554.     end else
  555.     begin
  556.     BeginPos := Pos('">', Line);
  557.     Delete(Line, 1, BeginPos+1);
  558.     EndPos := Pos('</a>',Line);
  559.     producteur_film := Copy(Line, 1, EndPos-1 );
  560.     decoupe(producteur_film);
  561.     producteur_film := ChaineDecoupee;
  562.     HTMLdecode(producteur_film);
  563.     producteur_film := StringReplace(producteur_film, #13#10, '');
  564.     producteur_film := StringReplace(producteur_film, '<i>', '');
  565.     producteur_film := StringReplace(producteur_film, '</i>', '');
  566.     producteur_film := StringReplace(producteur_film, '<b>', '');
  567.     producteur_film := StringReplace(producteur_film, '</b>', '');
  568.     producteur_film := StringReplace(producteur_film, '   ', '');
  569.     HTMLRemoveTags(producteur_film);
  570.     producteur_film := Trim(producteur_film);
  571.     producteur_film := AnsiLowerCase(producteur_film);
  572.     producteur_film := AnsiMixedCase(producteur_film, ' -');
  573.     end;
  574.   end;
  575.   end;
  576.  
  577.  
  578. //cherche la catΘgorie
  579.   BeginPos := Pos('Genre', Line);
  580.   if beginPos <> 0 then
  581.   begin
  582.   Delete(Line, 1, BeginPos+17);
  583.   EndPos := Pos('<br></td>',Line);
  584.   categorie_film := Copy(Line, 1, EndPos-1);
  585.   HTMLdecode(categorie_film);
  586.   categorie_film := StringReplace(categorie_film, #13#10, '');
  587.   categorie_film := StringReplace(categorie_film, '   ', '');
  588.   categorie_film := StringReplace(categorie_film, '<br>', ' ');
  589.   HTMLRemoveTags(categorie_film);
  590.   categorie_film := Trim(categorie_film);
  591.   categorie_film := AnsiLowerCase(categorie_film);
  592.   categorie_film := AnsiMixedCase(categorie_film, ' -');
  593.   categorie_film := AnsiUpFirstLetter(categorie_film);
  594.   end;
  595.  
  596.  //cherche la durΘe
  597.    BeginPos := Pos('DurΘe', Line);
  598.    if beginPos <> 0 then
  599.    begin
  600.      EndPos := Pos('</tr>',Line);
  601.      duree_film := Copy(Line, BeginPos, EndPos );
  602.      DureeEnMinutes(duree_film);
  603.      HTMLdecode(duree_film);
  604.    end;
  605.  
  606. //cherche la description
  607.   BeginPos := Pos('ScΘnario', Line);
  608.   if beginPos <> 0 then
  609.   begin
  610.     Delete(Line, 1, BeginPos+13);
  611.     BeginPos := Pos('fonddegrade', Line);
  612.     Delete(Line, 1, BeginPos+11);  
  613.     EndPos := Pos('</td>',Line);
  614.     description_film := Copy(Line, 1, EndPos-1 );
  615.     HTMLdecode(description_film);
  616.     description_film := StringReplace(description_film, #13#10, '');
  617.     description_film := StringReplace(description_film, '<p>', '');
  618.     description_film := StringReplace(description_film, '</p>', '');
  619.     description_film := StringReplace(description_film, '</b>', '');
  620.     description_film := StringReplace(description_film, '<b>', '');
  621.     description_film := StringReplace(description_film, '   ', '');
  622.     HTMLRemoveTags(description_film);
  623.   end else
  624.   begin
  625.     description_film := 'Pas de description disponible';
  626.   end;
  627.  
  628.  //chargement des jaquettes
  629.    BeginPos := Pos('<center><img src=', Line);
  630.    if BeginPos <> 0 then
  631.      begin
  632.        Delete(Line, 1, BeginPos+16);
  633.        EndPos := Pos(' width=',Line);
  634.        fichier_image := 'http://www.cinemasie.com'+ Copy(Line, 1, EndPos );
  635.        sleep(1500); //pour eviter les time-out
  636.        GetPicture(fichier_image, false);
  637.      end;
  638.      
  639. //charge les rΘsultats dans la fenΩtre
  640.   SetField( fieldTranslatedTitle,titre_film);
  641.   SetField( fieldURL,url_film);
  642.   SetField( fieldOriginalTitle,les_titres);
  643.   SetField( fieldCategory,categorie_film );
  644.   SetField( fieldDirector,realisateur_film);
  645.   SetField( fieldProducer,producteur_film);
  646.   SetField( fieldActors,liste_acteurs);
  647.   SetField( fieldYear,annee_film);
  648.   SetField( fieldCountry,pays_film);
  649.   SetField( fieldDescription,description_film);
  650.   SetField( fieldLength,LaDuree);
  651.   DisplayResults;
  652. end;
  653.  
  654. //------------------------------------------------------------------------------
  655. // PROCEDURE DE DECOUPE DE CHAINE POUR ENLEVER CARACTERES ASIATIQUES
  656. //------------------------------------------------------------------------------
  657.  
  658. procedure Decoupe(s : string);
  659. var
  660.      i : Integer;
  661.   begin
  662.   s := StringReplace(s, ' - ', '');
  663.   i:=pos('&#',s);
  664.   if i <> 0 then
  665.   begin
  666.     ChaineDecoupee := copy(s,1,i-1);
  667.   end else
  668.   begin
  669.     ChaineDecoupee := s;
  670.   end;
  671.   
  672. end;
  673.  
  674. //------------------------------------------------------------------------------
  675. // SUPPRESSION DES CARACTERES SI LA PERSONNE A UNE IMAGE ATTACH╔E
  676. //------------------------------------------------------------------------------
  677.  
  678. function deleteImage (la_ligne : String) : string;
  679. var
  680.   i, fin : Integer;
  681. begin
  682.   i:=pos('#',la_ligne);
  683.   if i <> 0 then
  684.   begin
  685.     i:=pos('.html>',la_ligne);
  686.     delete(la_ligne,1, i+5);
  687.     fin := Length(la_ligne);
  688.     la_ligne := copy(la_ligne,1,fin);
  689.     la_ligne := Trim(la_ligne);
  690.     la_ligne := AnsiUpFirstLetter(la_ligne);
  691.   end;
  692.   result := la_ligne;
  693. end;
  694.  
  695. //------------------------------------------------------------------------------
  696. // PROCEDURE DE CONVERSION DE LA DUREE
  697. //------------------------------------------------------------------------------
  698.  
  699. procedure DureeEnMinutes(s : string);
  700.  
  701. var
  702.      i, Heures, Minutes : Integer;
  703.      H,m : string;
  704.   begin
  705.   Heures := 0;
  706.   Minutes := 0;
  707.   LaDuree := s;
  708.   i:= pos('</b></td><td>',LaDuree);
  709.   delete(LaDuree,1,i+12);
  710.   i := pos('</',LaDuree);
  711.   LaDuree := copy(LaDuree,1,i-1);
  712.   LaDuree := Trim(LaDuree);
  713.   LaDuree := AnsiLowerCase(LaDuree);
  714.   LaDuree := StringReplace(LaDuree, ' ', '');
  715.   i := Pos('h', LaDuree);
  716. //si on a un format heures et minutes
  717.   if i <> 0 then
  718.   begin
  719.     H := copy(LaDuree,i-1,i-1);
  720.     Heures := StrToInt(H,1);
  721.     Heures := Heures*60;
  722.     m := copy(LaDuree,i+1,i+2);
  723.     if m <> '' then
  724.     begin
  725.       Minutes := StrToInt(m,2);
  726.       Minutes := Heures+Minutes;
  727.       m := IntToStr(Minutes);
  728.     LaDuree := m;
  729.     end else
  730.     begin
  731.       H := IntToStr(Heures);
  732.       LaDuree := H;    
  733.     end;
  734.   end else
  735.   begin
  736.     i := Pos('m', LaDuree);
  737.     if i <> 0 then
  738.     begin
  739.       LaDuree := copy(LaDuree,1,i-1);
  740.     end else
  741.     begin
  742.       LaDuree := '';
  743.     end;
  744.   end;
  745.   end;
  746.  
  747. //------------------------------------------------------------------------------
  748. // NETTOIE LE TITRE DU FICHIER POUR AVOIR LE TITRE DE FILM
  749. //------------------------------------------------------------------------------
  750.  
  751. function cleanTitle(title : String) : string;
  752. var
  753.   i,j, fin : Integer;
  754.   temp : String;
  755.  
  756. begin
  757.   title := AnsiUpperCase(title);
  758.  
  759.   if title <> '' then
  760.   begin
  761. // Nettoie les tags fichiers, merci Atmosfear pour les tags
  762.   i:=pos('.DVD',title);
  763.   if i <> 0 then
  764.   begin
  765.     title := copy(title,1,i-1);
  766.   end;
  767.   i:=pos('.DIVX',title);
  768.   if i <> 0 then
  769.   begin
  770.     title := copy(title,1,i-1);
  771.   end;
  772.   i:=pos('.FREN',title);
  773.   if i <> 0 then
  774.   begin
  775.     title := copy(title,1,i-1);
  776.   end;
  777.   i:=pos('.GERM',title);
  778.   if i <> 0 then
  779.   begin
  780.     title := copy(title,1,i-1);
  781.   end;
  782.   i:=pos('.INT',title);
  783.   if i <> 0 then
  784.   begin
  785.     title := copy(title,1,i-1);
  786.   end;
  787.   i:=pos('.LIM',title);
  788.   if i <> 0 then
  789.   begin
  790.     title := copy(title,1,i-1);
  791.   end;
  792.   i:=pos('.PROP',title);
  793.   if i <> 0 then
  794.   begin
  795.     title := copy(title,1,i-1);
  796.   end;
  797.   i:=pos('.REPACK',title);
  798.   if i <> 0 then
  799.   begin
  800.     title := copy(title,1,i-1);
  801.   end;
  802.   i:=pos('.SUBB',title);
  803.   if i <> 0 then
  804.   begin
  805.     title := copy(title,1,i-1);
  806.   end;
  807.   i:=pos('.UNSUB',title);
  808.   if i <> 0 then
  809.   begin
  810.     title := copy(title,1,i-1);
  811.   end;
  812.   i:=pos('.WS',title);
  813.   if i <> 0 then
  814.   begin
  815.     title := copy(title,1,i-1);
  816.   end;
  817.   i:=pos('.XVID',title);
  818.   if i <> 0 then
  819.   begin
  820.     title := copy(title,1,i-1);
  821.   end;
  822.   i:=pos('.AC3',title);
  823.   if i <> 0 then
  824.   begin
  825.     title := copy(title,1,i-1);
  826.   end;
  827.   i:=pos('.UNRAT',title);
  828.   if i <> 0 then
  829.   begin
  830.     title := copy(title,1,i-1);
  831.   end;
  832.  
  833.    title := StringReplace(title, '.', ' ');
  834.    title := StringReplace(title, ',', ' ');
  835.    title := StringReplace(title, ':', '');
  836.    title := StringReplace(title, '-', '');
  837.    title := StringReplace(title, '  ', ' ');
  838.  
  839.    i := 0;
  840. // Nettoie les tags de team
  841.    if (pos('(',title) <> 0) then
  842.    begin
  843.      i := pos('(',title);
  844.      temp := copy(title,0,i-1);
  845.      j := pos(')',title);
  846.      fin := Length(title);
  847.      title := temp + copy(title,j+1,fin);
  848.    end;
  849.  
  850.    if (pos('[',title) <> 0) then
  851.    begin
  852.      i := pos('[',title);
  853.      temp := copy(title,1,i-1);
  854.      j := pos(']',title);
  855.      fin := Length(title);
  856.      title := temp + copy(title,j+1,fin);
  857.    end;
  858.  
  859.    title := AnsiLowerCase(title);
  860.    title := AnsiUpFirstLetter(title);
  861.    title := AnsiMixedCase(title,' -');
  862.   end;
  863.    result := title;
  864. end;
  865.  
  866. //------------------------------------------------------------------------------
  867. // PROGRAMME PRINCIPAL
  868. //------------------------------------------------------------------------------
  869.  
  870. begin
  871.   if CheckVersion(3,4,0) then
  872.   begin
  873.     NomFilm := GetField(fieldTranslatedTitle);
  874.     if NomFilm = '' then
  875.       NomFilm := GetField(fieldOriginalTitle);
  876.     NomFilm := cleanTitle(NomFilm);
  877.     if (ConfirmTitre = True) then
  878.     begin
  879.     if Input('Cinemasie avec Image by ScorEpioN', 'Entrez le titre du film :', NomFilm) then
  880.     begin
  881.       //remplace les caractΦres accentuΘs
  882.       MovieName := NomFilm;
  883.       NomFilm := AnsiLowerCase(NomFilm);
  884.       NomFilm := StringReplace(NomFilm, 'Θ', 'e');
  885.       NomFilm := StringReplace(NomFilm, 'Φ', 'e');
  886.       NomFilm := StringReplace(NomFilm, 'α', 'a');
  887.       NomFilm := StringReplace(NomFilm, 'τ', 'c');
  888.       NomFilm := StringReplace(NomFilm, '∙', 'u');
  889.       NomFilm := StringReplace(NomFilm, ' ', '+');
  890.       NomFilm := 'http://www.cinemasie.com/recherche.html?SUBMIT.x=0&SUBMIT.y=0&SUBMIT=search&texte='+ UrlEncode(MovieName);
  891.       AnalyzePage(NomFilm);
  892.     end;
  893.     end else
  894.     begin
  895.       MovieName := NomFilm;
  896.       NomFilm := AnsiLowerCase(NomFilm);
  897.       NomFilm := StringReplace(NomFilm, 'Θ', 'e');
  898.       NomFilm := StringReplace(NomFilm, 'Φ', 'e');
  899.       NomFilm := StringReplace(NomFilm, 'α', 'a');
  900.       NomFilm := StringReplace(NomFilm, 'τ', 'c');
  901.       NomFilm := StringReplace(NomFilm, '∙', 'u');
  902.       if (premiereExecution = 0) then
  903.       begin
  904.           premiereExecution := -1;
  905.       PickTreeClear;
  906.           PickTreeAdd('Vous allez executer le script Cinemasie sans confirmation', '');
  907.           PickTreeAdd('Cliquez ici pour continuer', 'Oui');
  908.       PickTreeAdd('Cliquez sur annuler pour ne pas executer le script', '');
  909.       begin
  910.         if PickTreeExec(Reponse)=true then
  911.               if (Reponse = 'Oui') then
  912.               begin
  913.               NomFilm := 'http://www.cinemasie.com/recherche.html?SUBMIT.x=0&SUBMIT.y=0&SUBMIT=search&texte='+ UrlEncode(MovieName);
  914.               AnalyzePage(NomFilm);
  915.         end;
  916.       end;
  917.       end else
  918.       begin
  919.         NomFilm := 'http://www.cinemasie.com/recherche.html?SUBMIT.x=0&SUBMIT.y=0&SUBMIT=search&texte='+ UrlEncode(MovieName);
  920.         AnalyzePage(NomFilm);
  921.       end;
  922.     end;
  923.   end else
  924.     ShowMessage('Ce script requiert une version plus rΘcente de Ant Movie Catalog (au moins la version 3.4.0)');
  925. end. 
  926.